feat(release): publish Linux CLI and relay binaries#1752
Merged
Conversation
- `bitfun update --check` printed "is up to date" right after announcing an available version; add a distinct `Available` outcome. - Bound the startup auto-update check with a 90s budget so a stalled mirror cannot wedge interactive TUI launch behind a 120s-per-request client. - Resolve the auto-check stamp through `CliConfig::config_dir()` instead of a hardcoded `~/.config/bitfun`. - Strip SemVer build metadata from Linux asset names: GitHub rewrites `+` in uploaded release asset filenames, which made every nightly URL in linux-binaries.json a 404. Guard it in the manifest generator too. - openbitfun-release-sync.sh no longer deletes the published linux-binaries.json on a transient fetch failure; retry, and only remove it on a definitive 404. - Relay release deploy: trap INT/TERM so a cancelled wizard restores the renamed backup container instead of leaving the relay down, sweep orphaned backups, and honor RELAY_HOST_BIND_IP like docker-compose.yml does. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
cli-package.yml and desktop-package.yml both run on `release: published`, and both built the Linux CLI with the same version derivation, so both uploaded byte-identical asset names to the same release. softprops/action-gh-release deletes a same-named asset before writing, so the two runs could destroy each other's upload — on top of two redundant full Rust builds per release. Ownership is forced by two constraints: cli-package.yml never runs for nightly (a GITHUB_TOKEN-created release does not trigger workflows), and linux-binaries.json must be written by a job that physically holds all four archives. Both point at linux-binaries.yml, so drop the Linux targets from cli-package.yml's matrix. SHA256SUMS now covers the macOS and Windows archives only; the per-archive .sha256 sidecar remains the complete surface on every platform and channel. Documented in the CLI README and locked with contract tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release behavior
Stable and nightly publishing jobs now depend on the reusable Linux binary workflow. The release is created only after every required Desktop and Linux binary artifact has been built successfully.
Published Linux archives:
Verification